package com.togo.algorithm.easy.array;

/**
 * @Author taiyn
 * @Description
 * 输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数在数组的前半部分，所有偶数在数组的后半部分。
 *
 *  
 *
 * 示例：
 *
 * 输入：nums = [1,2,3,4]
 * 输出：[1,3,2,4]
 * 注：[3,1,2,4] 也是正确的答案之一。
 *
 * @Date 10:56 AM 2023/5/24
 **/
public class Offer21 {

    public int[] exchange(int[] nums) {

        int i = 0, j = nums.length - 1, tmp;
        while(i < j) {
            while(i < j && isOdd(nums[i])) i++;
            while(i < j && !isOdd(nums[j])) j--;
            tmp = nums[i];
            nums[i] = nums[j];
            nums[j] = tmp;
        }
        return nums;
    }

    private boolean isOdd(int num) {
        return num % 2 != 0;
    }
}
